uv add 和 uv pip install 的差異

uv add專案層級的依賴管理,會更新 uv.lock 並確保跨平台一致;而 uv pip install 則是 即時安裝套件,偏向單一環境操作,不會更新專案的 lockfile 1


🔑 差異重點

1. 作用範圍

  • uv add
    • 屬於 Project API
    • 會將套件加入專案的 pyproject.toml 並更新 uv.lock
    • 確保所有開發者在不同作業系統、Python 版本下都能得到一致的依賴解析結果。
  • uv pip install
    • 屬於 pip API
    • 類似傳統 pip install,直接在當前虛擬環境安裝套件。
    • 不會更新專案的 lockfile,也不保證跨平台一致性 1

2. 版本解析策略

  • uv add
    • 使用 universal resolution:選擇在所有平台都能相容的版本。
    • 例如:Linux 上有 1.2.0,但 Windows 只有到 1.1.0,uv add 會選擇 1.1.0,確保跨平台一致。
  • uv pip install
    • 預設安裝最新可用版本。
    • 例如:uv pip install flask>=2.0.0 可能直接裝到 Flask 3.0.0,即使專案只宣稱相容到 2.0.0 1

3. 使用情境

  • 適合用 uv add 的情況
    • 建立或維護專案依賴。
    • 團隊協作,需要跨平台一致的環境。
    • 希望 lockfile 紀錄所有依賴版本。
  • 適合用 uv pip install 的情況
    • 臨時測試某個套件。
    • 個人環境快速安裝,不需要更新專案設定。
    • 與傳統 pip 工作流程相容 1 2

📌 總結

  • uv add = 專案依賴管理 + 更新 lockfile + 跨平台一致性。
  • uv pip install = 單一環境安裝套件,不更新 lockfile,偏向即時測試。
    👉 如果你在做團隊專案,建議用 uv add;如果只是快速試用套件,則用 uv pip install

Sources: 1 2

Also See

3
8:21 PM - December 06, 2025
8:21 PM - December 06, 2025
8:21 PM - December 06, 2025